<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html" charset="iso-8859-1">
<title>FTPFileEntryParser (Commons Net 3.3 API)</title>
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
</head>
<body>
<script type="text/javascript"><!--
    if (location.href.indexOf('is-external=true') == -1) {
        parent.document.title="FTPFileEntryParser (Commons Net 3.3 API)";
    }
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar_top">
<!--   -->
</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/FTPFileEntryParser.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../org/apache/commons/net/ftp/FTPFile.html" title="class in org.apache.commons.net.ftp"><span class="strong">Prev Class</span></a></li>
<li><a href="../../../../../org/apache/commons/net/ftp/FTPFileEntryParserImpl.html" title="class in org.apache.commons.net.ftp"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/commons/net/ftp/FTPFileEntryParser.html" target="_top">Frames</a></li>
<li><a href="FTPFileEntryParser.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../allclasses-noframe.html">All Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_top");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method_detail">Method</a></li>
</ul>
</div>
<a name="skip-navbar_top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.apache.commons.net.ftp</div>
<h2 title="Interface FTPFileEntryParser" class="title">Interface FTPFileEntryParser</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Known Implementing Classes:</dt>
<dd><a href="../../../../../org/apache/commons/net/ftp/parser/CompositeFileEntryParser.html" title="class in org.apache.commons.net.ftp.parser">CompositeFileEntryParser</a>, <a href="../../../../../org/apache/commons/net/ftp/parser/ConfigurableFTPFileEntryParserImpl.html" title="class in org.apache.commons.net.ftp.parser">ConfigurableFTPFileEntryParserImpl</a>, <a href="../../../../../org/apache/commons/net/ftp/parser/EnterpriseUnixFTPEntryParser.html" title="class in org.apache.commons.net.ftp.parser">EnterpriseUnixFTPEntryParser</a>, <a href="../../../../../org/apache/commons/net/ftp/FTPFileEntryParserImpl.html" title="class in org.apache.commons.net.ftp">FTPFileEntryParserImpl</a>, <a href="../../../../../org/apache/commons/net/ftp/parser/MacOsPeterFTPEntryParser.html" title="class in org.apache.commons.net.ftp.parser">MacOsPeterFTPEntryParser</a>, <a href="../../../../../org/apache/commons/net/ftp/parser/MLSxEntryParser.html" title="class in org.apache.commons.net.ftp.parser">MLSxEntryParser</a>, <a href="../../../../../org/apache/commons/net/ftp/parser/MVSFTPEntryParser.html" title="class in org.apache.commons.net.ftp.parser">MVSFTPEntryParser</a>, <a href="../../../../../org/apache/commons/net/ftp/parser/NetwareFTPEntryParser.html" title="class in org.apache.commons.net.ftp.parser">NetwareFTPEntryParser</a>, <a href="../../../../../org/apache/commons/net/ftp/parser/NTFTPEntryParser.html" title="class in org.apache.commons.net.ftp.parser">NTFTPEntryParser</a>, <a href="../../../../../org/apache/commons/net/ftp/parser/OS2FTPEntryParser.html" title="class in org.apache.commons.net.ftp.parser">OS2FTPEntryParser</a>, <a href="../../../../../org/apache/commons/net/ftp/parser/OS400FTPEntryParser.html" title="class in org.apache.commons.net.ftp.parser">OS400FTPEntryParser</a>, <a href="../../../../../org/apache/commons/net/ftp/parser/RegexFTPFileEntryParserImpl.html" title="class in org.apache.commons.net.ftp.parser">RegexFTPFileEntryParserImpl</a>, <a href="../../../../../org/apache/commons/net/ftp/parser/UnixFTPEntryParser.html" title="class in org.apache.commons.net.ftp.parser">UnixFTPEntryParser</a>, <a href="../../../../../org/apache/commons/net/ftp/parser/VMSFTPEntryParser.html" title="class in org.apache.commons.net.ftp.parser">VMSFTPEntryParser</a>, <a href="../../../../../org/apache/commons/net/ftp/parser/VMSVersioningFTPEntryParser.html" title="class in org.apache.commons.net.ftp.parser">VMSVersioningFTPEntryParser</a></dd>
</dl>
<hr>
<br>
<pre>public interface <a href="../../../../../src-html/org/apache/commons/net/ftp/FTPFileEntryParser.html#line.82">FTPFileEntryParser</a></pre>
<div class="block">FTPFileEntryParser defines the interface for parsing a single FTP file
 listing and converting that information into an
 <a href="../../../../../org/apache/commons/net/ftp/FTPFile.html" title="class in org.apache.commons.net.ftp"><code>FTPFile</code></a> instance.
 Sometimes you will want to parse unusual listing formats, in which
 case you would create your own implementation of FTPFileEntryParser and
 if necessary, subclass FTPFile.
 <p>
 Here are some examples showing how to use one of the classes that
 implement this interface.
 <p>

 The first example uses the <code>FTPClient.listFiles()</code>
 API to pull the whole list from the subfolder <code>subfolder</code> in
 one call, attempting to automatically detect the parser type.  This
 method, without a parserKey parameter, indicates that autodection should
 be used.

 <pre>
    FTPClient f=FTPClient();
    f.connect(server);
    f.login(username, password);
    FTPFile[] files = f.listFiles("subfolder");
 </pre>

 The secondr example uses the <code>FTPClient.listFiles()</code>>
 API to pull the whole list from the current working directory in one call,
 but specifying by classname the parser to be used.  For this particular
 parser class, this approach is necessary since there is no way to
 autodetect this server type.

 <pre>
    FTPClient f=FTPClient();
    f.connect(server);
    f.login(username, password);
    FTPFile[] files = f.listFiles(
      "org.apache.commons.net.ftp.parser.EnterpriseUnixFTPFileEntryParser",
      ".");
 </pre>

 The third example uses the <code>FTPClient.listFiles()</code>
 API to pull a single file listing in an arbitrary directory in one call,
 specifying by KEY the parser to be used, in this case, VMS.

 <pre>
    FTPClient f=FTPClient();
    f.connect(server);
    f.login(username, password);
    FTPFile[] files = f.listFiles("VMS", "subfolder/foo.java");
 </pre>

 For an alternative approach, see the <a href="../../../../../org/apache/commons/net/ftp/FTPListParseEngine.html" title="class in org.apache.commons.net.ftp"><code>FTPListParseEngine</code></a> class
 which provides iterative access.</div>
<dl><dt><span class="strong">Version:</span></dt>
  <dd>$Id: FTPFileEntryParser.java 1299238 2012-03-10 17:12:28Z sebb $</dd>
<dt><span class="strong">Author:</span></dt>
  <dd><a href="mailto:scohen@apache.org">Steve Cohen</a></dd>
<dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../org/apache/commons/net/ftp/FTPFile.html" title="class in org.apache.commons.net.ftp"><code>FTPFile</code></a>, 
<a href="../../../../../org/apache/commons/net/ftp/FTPClient.html#listFiles()"><code>FTPClient.listFiles()</code></a></dd></dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method_summary">
<!--   -->
</a>
<h3>Method Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span>Methods</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/commons/net/ftp/FTPFile.html" title="class in org.apache.commons.net.ftp">FTPFile</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/net/ftp/FTPFileEntryParser.html#parseFTPEntry(java.lang.String)">parseFTPEntry</a></strong>(<a href="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;listEntry)</code>
<div class="block">Parses a line of an FTP server file listing and converts it into a usable
 format in the form of an <code> FTPFile </code> instance.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="http://download.oracle.com/javase/1.5.0/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/net/ftp/FTPFileEntryParser.html#preParse(java.util.List)">preParse</a></strong>(<a href="http://download.oracle.com/javase/1.5.0/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;original)</code>
<div class="block">This method is a hook for those implementors (such as
 VMSVersioningFTPEntryParser, and possibly others) which need to
 perform some action upon the FTPFileList after it has been created
 from the server stream, but before any clients see the list.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/net/ftp/FTPFileEntryParser.html#readNextEntry(java.io.BufferedReader)">readNextEntry</a></strong>(<a href="http://download.oracle.com/javase/1.5.0/docs/api/java/io/BufferedReader.html?is-external=true" title="class or interface in java.io">BufferedReader</a>&nbsp;reader)</code>
<div class="block">Reads the next entry using the supplied BufferedReader object up to
 whatever delemits one entry from the next.</div>
</td>
</tr>
</table>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method_detail">
<!--   -->
</a>
<h3>Method Detail</h3>
<a name="parseFTPEntry(java.lang.String)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>parseFTPEntry</h4>
<pre><a href="../../../../../org/apache/commons/net/ftp/FTPFile.html" title="class in org.apache.commons.net.ftp">FTPFile</a>&nbsp;<a href="../../../../../src-html/org/apache/commons/net/ftp/FTPFileEntryParser.html#line.94">parseFTPEntry</a>(<a href="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;listEntry)</pre>
<div class="block">Parses a line of an FTP server file listing and converts it into a usable
 format in the form of an <code> FTPFile </code> instance.  If the
 file listing line doesn't describe a file, <code> null </code> should be
 returned, otherwise a <code> FTPFile </code> instance representing the
 files in the directory is returned.
 <p></div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>listEntry</code> - A line of text from the file listing</dd>
<dt><span class="strong">Returns:</span></dt><dd>An FTPFile instance corresponding to the supplied entry</dd></dl>
</li>
</ul>
<a name="readNextEntry(java.io.BufferedReader)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>readNextEntry</h4>
<pre><a href="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/commons/net/ftp/FTPFileEntryParser.html#line.108">readNextEntry</a>(<a href="http://download.oracle.com/javase/1.5.0/docs/api/java/io/BufferedReader.html?is-external=true" title="class or interface in java.io">BufferedReader</a>&nbsp;reader)
                     throws <a href="http://download.oracle.com/javase/1.5.0/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Reads the next entry using the supplied BufferedReader object up to
 whatever delemits one entry from the next.  Implementors must define
 this for the particular ftp system being parsed.  In many but not all
 cases, this can be defined simply by calling BufferedReader.readLine().</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>reader</code> - The BufferedReader object from which entries are to be
 read.</dd>
<dt><span class="strong">Returns:</span></dt><dd>A string representing the next ftp entry or null if none found.</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="http://download.oracle.com/javase/1.5.0/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - thrown on any IO Error reading from the reader.</dd></dl>
</li>
</ul>
<a name="preParse(java.util.List)">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>preParse</h4>
<pre><a href="http://download.oracle.com/javase/1.5.0/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/commons/net/ftp/FTPFileEntryParser.html#line.123">preParse</a>(<a href="http://download.oracle.com/javase/1.5.0/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;original)</pre>
<div class="block">This method is a hook for those implementors (such as
 VMSVersioningFTPEntryParser, and possibly others) which need to
 perform some action upon the FTPFileList after it has been created
 from the server stream, but before any clients see the list.

 The default implementation can be a no-op.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>original</code> - Original list after it has been created from the server stream</dd>
<dt><span class="strong">Returns:</span></dt><dd>Original list as processed by this method.</dd></dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar_bottom">
<!--   -->
</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/FTPFileEntryParser.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../org/apache/commons/net/ftp/FTPFile.html" title="class in org.apache.commons.net.ftp"><span class="strong">Prev Class</span></a></li>
<li><a href="../../../../../org/apache/commons/net/ftp/FTPFileEntryParserImpl.html" title="class in org.apache.commons.net.ftp"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/commons/net/ftp/FTPFileEntryParser.html" target="_top">Frames</a></li>
<li><a href="FTPFileEntryParser.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../allclasses-noframe.html">All Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_bottom");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method_detail">Method</a></li>
</ul>
</div>
<a name="skip-navbar_bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>Copyright &#169; 2001-2013 <a href="http://www.apache.org/">The Apache Software Foundation</a>. All Rights Reserved.</small></p>
</body>
</html>
